home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 799 < prev    next >
Encoding:
Internet Message Format  |  1996-08-06  |  2.8 KB

  1. Path: in1.uu.net!tandem!usenet
  2. From: Anatoli Mandelchtam <tolik@tarley_pc.loc201.tandem.com>
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: [help] Calling BTRIEVE functions in C?Hello,
  5. Date: Sat, 06 Jan 1996 23:52:49 -0800
  6. Organization: Tandem Computers Inc., Cupertino, CA
  7. Message-ID: <30EF7BD1.1102@tarley_pc.loc201.tandem.com>
  8. References: <4ch821$ut0@news.doit.wisc.edu> <4cm8i7$np0@vivaldi.telepac.pt>
  9. NNTP-Posting-Host: miket_home1.fnord.tandem.com
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0b4 (Win95; I)
  14.  
  15. J.Carlos wrote:
  16. .> 
  17. .> tuant@hp-3.cae.wisc.edu (Truong Tuan) wrote:
  18. .> 
  19. .> >I am trying to integrate a DOS application to a WINDOWS application(DYNAMICS).
  20. .> >To do this, I needed to be able to open DYNAMICS' files, which are BTRIEVE files.
  21. .> > ...
  22. .> >However, I could not open the files.  >When I compile MyCode.C, using the Turbo 
  23. .C++(ver.4.5), everything went OK.
  24. .> >However, when I selected RUN (from compiler menu bar) , I got an error message:
  25. .> >Error:  Undefine symbol BTRV(..).
  26. .> 
  27. .> >Questions:
  28. .> 
  29. .> >1) Could it be the fact that I did not have the BTRIEVE (DOS version) running
  30. .> >   before I tried to run MyCode.exe?  If so, how do I run BTRIEVE before
  31. .> >   running my program?
  32. .> 
  33. .> No, this is a linker error, the problem is that in Windows the
  34. .> function that call's BTRIEVE is BTRCALL instead of BTRV, to use BTRV
  35. .> you must add a C module to your projects that comes with the Btrv
  36. .> developer kit (something like WBTRINTF.C), you also have to include
  37. .> the BTRIEVE library in the project.
  38. .> In Windows you don't 'run' BTRIEVE, keep the DLL's and the EXE in you
  39. .> path and your first call to the database will handle the
  40. .> inicialization.
  41. .> 
  42. .> >2) Do I need the DOS version of BTRIEVE when I already got the WINDOWS version?
  43. .> 
  44. .> No,  you don't ...
  45.  
  46. In addition to the above keep in mind that there exists a 32-bit version of the 
  47. Btrieve API both for WinNT and Win95.  In that version you WBTRCALL.DLL is replaced
  48. with WBTRV32.DLL, but API remains the same as long as you use .C module that comes
  49. with the client software (only a #define directive will look different).  For running
  50. a 16-bit Btrieve application in the 32-bit environment, a special BTRTHUNK.DLL is
  51. provided.  It translates calls to the WBTRCALL.DLL into calls to the WBTRV32.DLL.
  52.  
  53. The latest version of the client software that BTI e-mailed me in the mid-December
  54. fixes an annoying bug in the 32-bit version when any attempts to open a file from
  55. a child thread would result in a "error 75" message on all the connections done by 
  56. the parent thread. 
  57.  
  58. Another bug that is still not fixed involves VC++ 4.0.  Any attempts to open files
  59. from within the IDE result in error 20.  Compiled app will run Ok if started not
  60. from the IDE though.
  61.